LdC Trigger v0.9

This machine seems to work nicely, but i've not done exhaustive testing on it, so i guess there could be some bugs lurking still? i only added the second sample bank thing the other day, but it seems to work well enough.

This is an effect which triggers samples from a percussive input. Basically it "listens" to the input and when it hears a "hit" (when the signal rises sharply in amplitude) it triggers whatever samples you want. I made it so that I can put drum triggers on my practice drum kit (sort of like a set of practice pads on a drum rack), and connect each one to the inputs on my soundcard, then using the ASIO In thingy on Buzz, i can connect each of those to a separate Trigger machine, and hey presto, electronic drums! It actually works too, so now i can practice drums in my room.

You can also connect up any other buzz machines, generators and suchlike, generate an appropriate signal (very short percussive sounds (like clicks) work best). In this way you could control it and make drum patterns based on other signals and stuff i guess :-P Should be good for live use as well, which is what i'm going to use it for hopefully.

I made another machine called Automax which is useful for setting the input volume to a decent level (the machine was designed so that the peak volume of your loudest hit should be about 0db, though you can compensate for this with the Sensitivity control).

Features

*Configurable sensitivity settings.
*Up to 16 note polyphony (selectable in attributes).
*Easily switchable Monophonic mode for funky electronic stuttery choppy drum/percussion effects.
*2 configurable sample banks with tuning, volume, simple envelopes, interpolation etc.
*Random pitch and volume variation to give a more "human" feel (or inhuman, if you want it :)
*Dynamics tracking with configurable accuracy & latency.
*"No Dynamics" mode for less latency & CPU usage.
*Manual trigger mode for testing sample patches.
*Records your live playing to patterns for playback. So you can record percussion from your drumkit etc.


Parameters

*Dry Out: Amount of input signal to pass through (usually leave this to 0)
*Wet Out: Volume of output signal
*Manual Trigger: (pattern view only) Any value triggers a sample hit at that velocity, FE being the maximum. This column is used by the Record option to record your playing.
*Record:  When set to On, every hit will be recorded in the currently playing pattern. IMPORTANT: This is nothing to do with the usual Buzz recording button. Use the Buzz recording thing for recording parameter changes and stuff, use this to record hits. Remember the recorded hits will be quantized to the nearest tick, so best set to a high TPB if you don't want your playing to sound quantized. Also if you are in the pattern view, you might not see the hits appear in the Manual Trigger column (even though they are there) because of the way Buzz updates the screen.
*Sensitivity: How loud the input has to be to trigger a hit. Lower values make it more sensitive.
*Polyphonic: When this is set to OFF, each hit will cut off the previous hit straight away, otherwise the polyphonic system will be used. Useful for when you play a fast roll or buzz roll or whatever and want it to have that electronic "retrigger" sound ;-) The 2 sample banks remain independent of course, they each become monophonic. When you switch from polyphonic to the monophonic mode, any previously playing samples will continue to play as normal provided there are enough channels available.
*Anti-Flam: The minimum time between hits. Values of 30ms or so seem to be good. This stops the machine from setting off unwanted "flam" type hits all the time. IMPORTANT: this doesnt stop you playing a proper (intentional) flam, just stops the machine accidentally triggering off more hits than you actually played. maybe i shouldve given this parameter a different name ;-)
*Filter Type: Filter used to "clean" the input so that it triggers more accurately. LP filter seems to work good, as does BP. HP and Off settings are pretty useless. This filter doesn't have anything to do with the output samples.
*Filter Freq: Cutoff freq. of the above filter.
*Filter Q: Q of the above filter. i used a pretty lame filter algorithm (since sound quality isn't an issue here since we never hear the filtered signal ;) so im not sure this parameter works how you would expect. seems fine just left at 50%.

Sample Bank Parameters (same for both banks, A & B):

*Sample: Select the wavetable sample you want to use, or turn that bank off by setting it to 0 (saves CPU).
*Note: Set the note you want the sample to play at. When the slider display shows ??? just set it to a proper note number. this happens cos note parameters aren't usually seen outside the pattern display, but since you tend to set the note and leave it with this sort of thing, i put it here too.
*Tuning: Fine tuning in cents.
*RndTuning: Random tuning variation in cents.
*Volume: Volume for that sample. Set to 0 to turn the sample bank off and save some CPU.
*RndVolume: Random volume variation. This subtracts a random amount, so you shouldn't get any hits which are louder than if there was no random volume variation, hopefully helping to prevent clipping later in the signal path.
*Dynamics: This controls how much the volume of the sample follows the volume of the input signal, so, for example, when you hit the drum pads harder, the sound gets louder instead of being the same volume regardless. IMPORTANT! When you set this to OFF, slightly less CPU is used, and also there is less latency (but not a lot, only about 1.5ms at the standard settings) between the input "hit" and the actual triggering of the samples.
*Hold: Hold in milliseconds for a simple volume envelope. When this is set to ENV OFF (3E9), the envelope isn't used.
*Release: Release in milliseconds for a simple volume envelope. Disabled when Hold is set to ENV OFF (3E9)
*Interpolation: Choose whether you want no interpolation or linear interpolation. use no interpolation when you are replaying a sample at it's original rate (without tuning or random tuning variation of course) or when you just want the grotty sound of non-interpolated samples ;-) obviously using no interpolation saves a bit of CPU.

Attributes

*Trigger Signal Coefficient: Altering this affects the coefficient used to process the input signal to make it more suitable for triggering. so fiddling with this may improve triggering, though you might have to alter your sensitivity setting to compensate. 975 seems to be a good value... this value is actually divided internally, so 975 is really 0.975, and so on.
*Dynamics Latency: This determines how many samples the machine analyses when determining the dynamics of an input hit. larger amounts should be more accurate, but will produce slightly more latency. small amounts will probably make it too inaccurate. the latency produced by the dynamics routine is only a few milliseconds, but some people might want to fiddle with it. also if you run buzz at a different sample rate you may have to change this... maybe future versions will compensate for this.
*Max Polyphony Channels: just sets how many channels to use for the samples. if you are using samples with a long decay, like a big cymbal, you might like to set this a bit higher so that new hits dont cut off the old ones which are still decaying. values of 2 or 3 are fine for short snappy percussion sounds. remember you can use the "polyphonic" parameter to temporarily drop in to monophonic mode if you want that kind of sound.

Some Possible Uses & Ideas

*Get some drum triggers and put them on a drum kit (or a suitable practice kit) and run those through a multi-input soundcard and into separate Trigger machines for a cheap-ish digital drumkit. Or just put your microphone through it and hit it to da beat ;P

*Get some MIDI footpedal things and bind them to suitable parameters (eg. the hold setting or tuning, or parameters in other machines like a filter after the snare sound), and use it as you would use as a hihat pedal. You could simulate a hihat like this i guess by using an open-hat sound and binding it to the release parameter.

*Program your drums using samples of clicks in some Matilde Trackers or whatever, then run those through some Triggers and you can have several channels of polyphony handled automagically for each sound. good for cymbals and stuff so you don't have to keep spreading them over different channels to stop them cutting each other off. or you could use Trigger's built in "Manual Trigger" to sequence the drums (tho its a bit primitive)

*Recorded some live drums in a multitrack setup? Run each track in Buzz and use Trigger to replace the sounds of, say, the snare. Might have to use some gating and stuff to get it to trigger better (remember it works best from really short snappy sounds).

*If you are having trouble triggering accurately from a signal source, try "cleaning" the signal with other effect machines, for instance filters, noise gates, and so on. also try my Automax machine for getting a healthy signal level going into the machine.

Bugs & Stuff

It seems sometimes it crashes if you load a new sample while the sample you are replacing is still playing. i put some code in to avoid this but i think this bug still pops up now and again. if anyone else experiences this, drop me a line and i'll look into it some more!

Thx & Stuff

Thanks to:

*Oskari - for that music program thingy.
*Cyanphase - for his tutorials & example code, which i gained much knowledge from... and also the stuff he made for buzz ain't too bad either ;-)
*Apo - for useful (indispensable!) machines and also for including the source code with them.
*Rymix - for mad machine coding and helping with my own.
*Zephod - for neato machines and stuff.
*Mva - for buzzmachines.com
*Purpose Of Pain - for showing me what buzz can do in the right hands ;-)
*JoY_ReX_J - just check the About boxes ;-)

hello of course to everyone from efnet/#buzz

Blah Blah

I might make an improved version of this machine sometime, with extra features and stuff. maybe, maybe not :P i have some ideas ;)

Oh yeh it doesnt deal with looped samples... sorry :P theres another future idea hehe

if anyone uses this for something like playing live or whatever, i'd be interested to hear how it went. i'm hoping to use it live in my band, im thinking i'll use cymbals and use the pads to trigger bass/snare/toms and change the sounds according to what i need for different parts of songs. should be interesting anyways.

actually if anyone (except me) uses this at all i will be quite impressed ;P

Trigger by Lee du-Caine 2002

email: Ken_Golf@hotmail.com

This plugin isn't guaranteed in any way, if it does anything naughty, then tough. Use at your own risk ;)